From 013035b4e9af39f506e87ae6b755c3363e768d4d Mon Sep 17 00:00:00 2001
From: Vladislav Shchapov <phprus@gmail.com>
Date: Thu, 23 Dec 2021 19:17:24 +0500
Subject: [PATCH] Fix issue #687 (test_eh_thread) (#697)

Signed-off-by: Vladislav Shchapov <phprus@gmail.com>
---
 test/tbb/test_eh_thread.cpp | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/test/tbb/test_eh_thread.cpp b/test/tbb/test_eh_thread.cpp
index aa6d764d..af291f48 100644
--- a/test/tbb/test_eh_thread.cpp
+++ b/test/tbb/test_eh_thread.cpp
@@ -36,6 +36,7 @@
 // TODO: enable limitThreads with sanitizer under docker
 #if TBB_USE_EXCEPTIONS && !_WIN32 && !__ANDROID__
 
+#include <limits.h>
 #include <sys/types.h>
 #include <sys/time.h>
 #include <sys/resource.h>
@@ -73,7 +74,8 @@ public:
         mValid = false;
         pthread_attr_t attr;
         // Limit the stack size not to consume all virtual memory on 32 bit platforms.
-        if (pthread_attr_init(&attr) == 0 && pthread_attr_setstacksize(&attr, 100*1024) == 0) {
+        std::size_t stacksize = utils::max(128*1024, PTHREAD_STACK_MIN);
+        if (pthread_attr_init(&attr) == 0 && pthread_attr_setstacksize(&attr, stacksize) == 0) {
             mValid = pthread_create(&mHandle, &attr, thread_routine, /* arg = */ nullptr) == 0;
         }
     }
-- 
2.34.0

